package pl.edu.agh.mwo.model;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class Pracownik 
{
private String imie;
private String nazwisko;
private int zbiorczyCzasPracy;
private ArrayList<Projekt> listaProjektow;
private int [] czasDlaDnia;



public Pracownik(String imie, String nazwisko, int czasPracy,
		String projekt, Date data) 
{
	this.czasDlaDnia = new int [8];
	for (int i = 0; i < 7; i++)
	{
		czasDlaDnia[i] = 0;
	}
	this.imie = imie;
	this.nazwisko = nazwisko;
	this.zbiorczyCzasPracy += czasPracy;
	Projekt proj = new Projekt(projekt, czasPracy);
	this.listaProjektow = new ArrayList<Projekt>();
	listaProjektow.add(proj);
	
	Calendar cal = GregorianCalendar.getInstance();
	cal.setTime(data);
	int dzien = cal.get(Calendar.DAY_OF_WEEK);
	czasDlaDnia[dzien-1] += czasPracy;

}



public boolean czyPosiadaProjekt(String nazwaProjektu)
{
	for (Projekt projekt : listaProjektow) 
	{
	if (projekt.getNazwaProjektu().equals("nazwaProjektu"))
	{
		return true;
	}
	}
	return false;
}


public void dodajCzasDlaProjektuPracownika(String nazwaProjektu,Date data, int czasPracy)
{
	for (Projekt projekt : listaProjektow) 
	{
	if (projekt.getNazwaProjektu().equals("nazwaProjektu"))
	{
		projekt.setLiczbaGodzin(projekt.getLiczbaGodzin()+czasPracy);
		
	}
	
	Calendar cal = GregorianCalendar.getInstance();
	cal.setTime(data);
	int dzien = cal.get(Calendar.DAY_OF_WEEK);
		czasDlaDnia[dzien-1] += czasPracy;
		zbiorczyCzasPracy += czasPracy;
		
		
	
	}
}


public void dodajProjektPracownikowiICzasDlaNiego(String nazwaProjektu,Date data, int czasPracy)
{
	
	Projekt pro = new Projekt(nazwaProjektu, czasPracy);
	listaProjektow.add(pro);
	pro.setLiczbaGodzin(pro.getLiczbaGodzin()+czasPracy);
	Calendar cal = GregorianCalendar.getInstance();
	cal.setTime(data);
	int dzien = cal.get(Calendar.DAY_OF_WEEK);
	czasDlaDnia[dzien-1] += czasPracy;
	zbiorczyCzasPracy += czasPracy;	
	}


public String getImie() 
{
	return imie;
}

public String getNazwisko() {
	return nazwisko;
}


public int getZbiorczyCzasPracy() {
	return zbiorczyCzasPracy;
}


public ArrayList<Projekt> getListaProjektow() {
	return listaProjektow;
}


public int[] getCzasDlaDnia() {
	return czasDlaDnia;
}

public int podajCzasPracyDlaProjektu(String nazwa) {
	int ilosc = 0;
	for (Projekt projekt : listaProjektow) {
		if (projekt.getNazwaProjektu().equals("nazwaProjektu"))
		{
			ilosc = projekt.getLiczbaGodzin();
		}
	}
	return ilosc;
}

public int podajCzasDlaDniaNr(int i) {
	return czasDlaDnia[i];
}


}
